home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HPAVC
/
HPAVC CD-ROM.iso
/
CIAFONLR.ZIP
/
ONLR.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-04-21
|
10KB
|
557 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Boolean BOOLEAN004
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
Integer INTEGER016
Integer INTEGER017
Integer INTEGER018
Integer INTEGER019
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String TSTRING009(30)
String STRING010
String STRING011
String STRING012
String TSTRING013(20)
String STRING014
String STRING015
String TSTRING016(99)
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
String TSTRING022(20)
;------------------------------------------------------------------------------
TSTRING013(1) = PPEPath() + "ONLR01.PCB"
TSTRING013(2) = PPEPath() + "ONLR02.PCB"
TSTRING013(3) = PPEPath() + "ONLR03.PCB"
TSTRING013(4) = PPEPath() + "ONLR04.PCB"
TSTRING013(5) = PPEPath() + "ONLR05.PCB"
TSTRING013(6) = PPEPath() + "ONLR06.PCB"
TSTRING013(7) = PPEPath() + "ONLR07.PCB"
TSTRING013(8) = PPEPath() + "ONLR08.PCB"
TSTRING013(9) = PPEPath() + "ONLR09.PCB"
TSTRING013(10) = PPEPath() + "ONLR10.PCB"
TSTRING013(11) = PPEPath() + "ONLR01.DAT"
TSTRING013(12) = PPEPath() + "ONLR02.DAT"
TSTRING013(13) = PPEPath() + "ONLR03.DAT"
TSTRING013(14) = PPEPath() + "ONLR.CFG"
TSTRING013(15) = PPEPath() + "ONLR04.DAT"
INTEGER017 = 15
For INTEGER004 = 1 To INTEGER017
If (Exist(TSTRING013(INTEGER004)) == 0) Then
Log "ONLR: Can't Open: " + TSTRING013(INTEGER004) + ", #" + String(INTEGER004), 0
End
Endif
Next
STRING002 = "1.00"
STRING012 = "N"
INTEGER001 = 5
INTEGER004 = 0
INTEGER002 = 1
BOOLEAN001 = 0
FOpen 1, TSTRING013(14), 0, 0
FGet 1, INTEGER009
FGet 1, STRING015
FGet 1, INTEGER011
FGet 1, STRING017
FGet 1, INTEGER012
FGet 1, INTEGER014
FGet 1, INTEGER015
FGet 1, STRING019
FGet 1, INTEGER016
FGet 1, STRING020
FGet 1, INTEGER018
FClose 1
GetUser
If (U_Sec < INTEGER009) Then
End
Endif
If (STRING015 == "Y") Then
For INTEGER004 = 1 To INTEGER011
If (Exist(PPEPath() + "STAT." + String(INTEGER004)) == 0) Then
Log "ONLR: Can't Open: " + TSTRING013(INTEGER017), 0
End
Endif
Next
DispFile TSTRING013(1), 1
STRING012 = ""
InputStr " _", STRING012, 0, 1, "aA", 8 + 256
If (STRING012 <> "A") Then
INTEGER004 = Random(INTEGER011)
If (INTEGER004 == 0) Then
INTEGER004 = 1
Endif
If (INTEGER006 == 0) Then
INTEGER006 = 1
Endif
STRING014 = PPEPath() + "STAT." + String(INTEGER004)
DispFile STRING014, 1
PrintLn
PrintLn "@PAUSE@"
Endif
Endif
PrintLn
If (STRING017 == "Y") Then
PrintLn
DispFile TSTRING013(2), 1
PrintLn
FOpen 1, TSTRING013(11), 0, 0
FGet 1, INTEGER013
For INTEGER004 = 1 To INTEGER013
FGet 1, TSTRING016(INTEGER004)
Color INTEGER015
Print Chr(34)
Color INTEGER014
Print TSTRING016(INTEGER004)
Color INTEGER015
PrintLn Chr(34)
Next
FClose 1
PrintLn
DispFile TSTRING013(3), 1
STRING012 = "N"
InputStr "", STRING012, 15, 1, "yYnN", 2 + 4 + 8 + 256
If (STRING012 == "Y") Then
PrintLn "@POFF@"
FOpen 1, TSTRING013(15), 0, 0
For INTEGER004 = 1 To 15
FGet 1, STRING011
TSTRING009(INTEGER004) = " " + STRING011 + Space(9 - Len(STRING011))
Next
INTEGER004 = 0
FClose 1
Cls
PrintLn
DispFile TSTRING013(4), 1
AnsiPos INTEGER006, INTEGER001
:LABEL001
If (BOOLEAN001) Goto LABEL009
STRING008 = ""
AnsiPos INTEGER006 + 1, INTEGER001
While (STRING008 == "") Do
STRING008 = Inkey()
EndWhile
If (INTEGER008 > 78) Then
If ((STRING008 <> "DEL") || (STRING008 <> "LEFT")) Then
STRING008 = ""
Endif
Endif
If (STRING008 == "#") Then
For INTEGER005 = 0 To 15
INTEGER008 = INTEGER001 + 1
INTEGER007 = INTEGER005 * 10 - 10
If (INTEGER005 > 8) Then
INTEGER007 = INTEGER007 - 80
INTEGER008 = INTEGER008 + 1
Endif
AnsiPos INTEGER007, INTEGER008
STRING011 = "@X0" + I2S(INTEGER005, 16) + TSTRING009(INTEGER005)
Print STRING011
Next
BOOLEAN003 = 1
BOOLEAN002 = 0
INTEGER003 = 1
Print " "
:LABEL002
If (BOOLEAN002) Goto LABEL006
If (BOOLEAN003) Then
INTEGER008 = INTEGER001 + 1
INTEGER007 = INTEGER003 * 10 - 10
If (INTEGER003 > 8) Then
INTEGER007 = INTEGER007 - 80
INTEGER008 = INTEGER008 + 1
Endif
AnsiPos INTEGER007, INTEGER008
STRING010 = "@X0" + I2S(INTEGER003, 16)
Print STRING010 + TSTRING009(INTEGER003)
INTEGER008 = INTEGER001 + 1
INTEGER007 = INTEGER002 * 10 - 10
If (INTEGER002 > 8) Then
INTEGER007 = INTEGER007 - 80
INTEGER008 = INTEGER008 + 1
Endif
AnsiPos INTEGER007, INTEGER008
If (INTEGER002 == 7) Then
STRING010 = "@X0" + I2S(INTEGER002, 16) + "[" + Mid(TSTRING009(INTEGER002), 2, Len(TSTRING009(INTEGER002)) - 2) + "]"
Goto LABEL003
Endif
STRING010 = "@X7" + I2S(INTEGER002, 16) + TSTRING009(INTEGER002)
:LABEL003
Print STRING010
Endif
STRING011 = ""
While (STRING011 == "") Do
STRING011 = Inkey()
EndWhile
INTEGER003 = INTEGER002
BOOLEAN003 = 0
If (STRING011 == Chr(13)) Then
BOOLEAN002 = 1
Goto LABEL004
Endif
If (STRING011 == "RIGHT") Then
INTEGER002 = INTEGER002 + 1
BOOLEAN003 = 1
Goto LABEL004
Endif
If (STRING011 == "LEFT") Then
INTEGER002 = INTEGER002 - 1
BOOLEAN003 = 1
Goto LABEL004
Endif
If (STRING011 == "DOWN") Then
INTEGER002 = INTEGER002 + 8
BOOLEAN003 = 1
Goto LABEL004
Endif
If (STRING011 == "UP") Then
INTEGER002 = INTEGER002 - 8
BOOLEAN003 = 1
Endif
:LABEL004
If (INTEGER002 < 1) Then
INTEGER002 = 15
Goto LABEL005
Endif
If (INTEGER002 > 15) Then
INTEGER002 = 1
Endif
:LABEL005
Goto LABEL002
:LABEL006
AnsiPos INTEGER008, INTEGER001
INTEGER004 = INTEGER004 + 4
Print "@X0" + I2S(INTEGER002, 16)
STRING008 = "╧X0" + I2S(INTEGER002, 16)
STRING018 = STRING018 + STRING008
AnsiPos 1, INTEGER001 + 1
PrintLn Space(80)
AnsiPos 1, INTEGER001 + 2
PrintLn Space(80)
Goto LABEL008
Endif
If (STRING008 == "DOWN") Then
STRING008 = ""
Goto LABEL008
Endif
If (STRING008 == "UP") Then
STRING008 = ""
Goto LABEL008
Endif
If (STRING008 == "RIGHT") Then
STRING008 = ""
Goto LABEL008
Endif
If ((STRING008 == Chr(8)) || (STRING008 == "LEFT")) Then
If (Mid(STRING018, INTEGER004 - 3, 2) == "╧X") Then
INTEGER019 = Len(STRING018)
STRING018 = Left(STRING018, INTEGER019 - 4)
INTEGER004 = INTEGER004 - 4
Print "@X07"
AnsiPos 1, 6
BOOLEAN004 = 1
Print "@X00@X08Color deleted.@XFF"
Goto LABEL007
Endif
STRING018 = Left(STRING018, Len(STRING018) - 1)
Backup 1
Print " "
Backup 1
INTEGER004 = INTEGER004 - 1
INTEGER006 = INTEGER006 - 1
:LABEL007
If (INTEGER004 < 0) Then
INTEGER004 = 0
Endif
If (INTEGER006 < 0) Then
INTEGER006 = 0
Endif
Goto LABEL008
Endif
If (STRING008 == Chr(13)) Then
BOOLEAN001 = 1
Goto LABEL008
Endif
INTEGER004 = INTEGER004 + 1
INTEGER006 = INTEGER006 + 1
AnsiPos INTEGER006, INTEGER001
Print STRING008
If (BOOLEAN004 == 1) Then
AnsiPos 1, 6
Print Space(14)
BOOLEAN004 = 0
Endif
STRING018 = STRING018 + STRING008
:LABEL008
Goto LABEL001
:LABEL009
PrintLn "@PON@"
STRING018 = Replace(STRING018, "╧", "@")
AnsiPos 1, INTEGER001 + 3
If (STRING018 <> "") Then
PrintLn "@X08" + Chr(34) + "@X07" + STRING018 + "@X08" + Chr(34)
InputYN "Save this OneLiner", STRING012, 15
PrintLn
Endif
If ((Upper(STRING012) <> "Y") || (STRING018 == "")) Then
PrintLn "@X0COneLiner Aborted!"
PrintLn
PrintLn "@MORE@"
Log "User ABORTED OneLiner: ", 0
Log "> " + STRING018, 1
Goto LABEL011
Endif
Log "User left new OneLiner: ", 0
Log "> " + STRING018, 1
FOpen 1, TSTRING013(11), 1, 0
If (INTEGER013 >= INTEGER012) Then
For INTEGER004 = 1 To INTEGER012
TSTRING016(INTEGER004) = TSTRING016(INTEGER004 + 1)
Next
TSTRING016(INTEGER012) = STRING018
Goto LABEL010
Endif
Inc INTEGER013
TSTRING016(INTEGER013) = STRING018
:LABEL010
FPutLn 1, INTEGER013
For INTEGER004 = 1 To INTEGER013
FPutLn 1, TSTRING016(INTEGER004)
Next
FClose 1
PrintLn
PrintLn "@X0FOneLiner Saved!"
PrintLn
PrintLn "@MORE@"
Endif
Endif
:LABEL011
If (STRING019 == "Y") Then
DispFile TSTRING013(5), 1
PrintLn
DispFile TSTRING013(6), 1
PrintLn
DispFile TSTRING013(12), 1
DispFile TSTRING013(6), 1
PrintLn
If (OnLocal()) Then
STRING021 = "N"
InputStr "@X0FLOCAL@X07, How do you wish to log this call? @X08[@X0FL@X07ocal, @X0FR@X07emote, @X0FNOT LOGGED@X08] _", STRING021, 7, 1, "LRN", 8 + 256 + 8192
If (STRING021 == "") Then
STRING021 = "N"
Endif
If (STRING021 == "R") Then
InputStr "@X07Speed@X0F", STRING007, 7, 5, Mask_Num(), 8 + 256 + 8192 + 2 + 4
If (STRING007 == "") STRING007 = "14400"
PrintLn "Call logged at " + STRING007 + "bps"
Goto LABEL012
Endif
If (STRING021 == "L") Then
STRING007 = "LOCAL"
PrintLn "Call listed as local."
Endif
:LABEL012
Goto LABEL013
Endif
STRING007 = Carrier()
:LABEL013
STRING007 = Space(5 - Len(STRING007)) + STRING007
FClose 1
FClose 2
If (STRING021 == "N") Then
PrintLn "Call was NOT listed."
Goto LABEL015
Endif
FOpen 1, TSTRING013(12), 0, 0
FGet 1, STRING011
For INTEGER004 = 1 To INTEGER016 - 1
FGet 1, TSTRING022(INTEGER004)
Next
FClose 1
Delete TSTRING013(12)
TSTRING022(INTEGER016) = "@X0F" + Mixed(U_Name())
TSTRING022(INTEGER016) = TSTRING022(INTEGER016) + "@POS:20@@X08[@X07" + STRING007 + "@X08] "
TSTRING022(INTEGER016) = TSTRING022(INTEGER016) + String(Date()) + " " + String(Time()) + " @X07"
If (INTEGER018 == 1) Then
TSTRING022(INTEGER016) = TSTRING022(INTEGER016) + Mixed(U_City)
Goto LABEL014
Endif
If (INTEGER018 == 2) Then
TSTRING022(INTEGER016) = TSTRING022(INTEGER016) + Mixed(U_Cmnt1)
Goto LABEL014
Endif
If (INTEGER018 == 3) Then
TSTRING022(INTEGER016) = TSTRING022(INTEGER016) + Mixed(U_Cmnt2)
Goto LABEL014
Endif
If (INTEGER018 == 4) Then
TSTRING022(INTEGER016) = TSTRING022(INTEGER016) + Mixed(U_Notes(1))
Goto LABEL014
Endif
If (INTEGER018 == 5) Then
TSTRING022(INTEGER016) = TSTRING022(INTEGER016) + Mixed(U_Notes(2))
Goto LABEL014
Endif
If (INTEGER018 == 6) Then
TSTRING022(INTEGER016) = TSTRING022(INTEGER016) + Mixed(U_Notes(3))
Goto LABEL014
Endif
If (INTEGER018 == 7) Then
TSTRING022(INTEGER016) = TSTRING022(INTEGER016) + Mixed(U_Notes(4))
Endif
:LABEL014
FOpen 1, TSTRING013(12), 1, 0
For INTEGER004 = 1 To INTEGER016
FPutLn 1, TSTRING022(INTEGER004)
Next
FClose 1
:LABEL015
PrintLn
PrintLn "@MORE@"
Endif
If (STRING020 == "Y") Then
DispFile TSTRING013(7), 1
PrintLn
FOpen 1, TSTRING013(13), 0, 0
FGet 1, INTEGER010
For INTEGER004 = 1 To INTEGER010
FGet 1, STRING011
PrintLn STRING011
Next
FClose 1
Endif
STRING003 = "┐º╧╟;2▀╣è£öûæ╪▀░æÜ│ûæÜìî▐▀ë╤▀"
STRING004 = "▀¥å▀╜èì₧æ▀ñ¡║»¡û¼║ó"
For INTEGER004 = 1 To Len(STRING003)
STRING005 = STRING005 + Chr(255 - Asc(Mid(STRING003, INTEGER004, 1)))
Next
For INTEGER004 = 1 To Len(STRING004)
STRING006 = STRING006 + Chr(255 - Asc(Mid(STRING004, INTEGER004, 1)))
Next
PrintLn
Print STRING005 + STRING002 + STRING006
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 3 End
; 1 Cls
; 3 Color
; 106 Goto
; 135 Let
; 13 Print
; 32 PrintLn
; 67 If
; 10 DispFile
; 7 FOpen
; 9 FClose
; 18 FGet
; 3 FPutLn
; 1 GetUser
; 1 Delete
; 6 Log
; 4 InputStr
; 1 InputYN
; 1 Inc
; 12 AnsiPos
; 2 Backup
;
;
; ■ Functions used :
;
; 3 *
; 106 +
; 21 -
; 39 ==
; 5 <>
; 16 <
; 12 <=
; 5 >
; 25 >=
; 66 !
; 24 &&
; 15 ||
; 9 Len(
; 1 Upper()
; 4 Mid()
; 2 Left()
; 5 Space()
; 9 Chr()
; 2 Asc()
; 1 Random()
; 1 Date()
; 1 Time()
; 1 U_Name()
; 1 Replace()
; 2 Inkey()
; 5 String()
; 1 Mask_Num()
; 17 PPEPath()
; 1 OnLocal()
; 2 Exist()
; 6 I2S()
; 1 Carrier()
; 8 Mixed()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 12 For/Next
; 2 While/EndWhile
; 50 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------